///////////////////////////////////////////////////////////
//  SampleSounding.h
//  Implementation of the Class SampleSounding
//  Created on:      21-sep-2007 15:40:08
///////////////////////////////////////////////////////////

#if !defined(EA_7738EA28_C9DB_4b79_B18B_A7A58F172321__INCLUDED_)
#define EA_7738EA28_C9DB_4b79_B18B_A7A58F172321__INCLUDED_

#include <string>
#include "ConditionAtm.h"
#include "ObjectDomain.h"
#include "../../indexado/fuentes/RecordHandler.h"
#include "../../indexado/fuentes/OrganizationCommons.h"

#define SIZE_SAMPLESOUNDING_SCHEMA 18

class SampleSounding : public ObjectDomain
{

public:

	SampleSounding();
	virtual ~SampleSounding();
	std::string getValor(std::string atribName);
	void loadAtribFromNode(XMLNode* node);
	void loadRegistro(void* registro);
	void saveInRegistro(void* reg);
	campo* getSchema();
	const SampleSounding & operator=(const SampleSounding&);
	campo* getPrimaryKey();
	std::string getBulk_richardson();
	std::string getCape();
	std::string getCape_virtual();
	std::string getConvective_inhibition();
	std::string getCross_totals_index();
	std::string getDate();
	std::string getHour();
	std::string getK_index();
	std::string getLifted();
	std::string getLifted_virtual();
	std::string getPrecipitable_water();
	std::string getShowalter_index();
	std::string getSweat_index();
	std::string getTotals_totals_index();
	std::string getVertical_totals_index();
	std::string getStationCode(void);
	std::string getPKSampleSounding();
	int getSchemaSize();
	void setKey(std::string key);
	
	void setBulk_richardson(std::string bk);
	void setCape(std::string c);
	void setCape_virtual(std::string cv);
	void setConvective_inhibition(std::string ci);
	void setCross_totals_index(std::string cti);
	void setDate(std::string d);
	void setHour(std::string h);
	void setK_index(std::string ki);
	void setLifted(std::string l);
	void setLifted_virtual(std::string lv);
	void setPrecipitable_water(std::string pw);
	void setShowalter_index(std::string si);
	void setSweat_index(std::string si);
	void setTotals_totals_index(std::string tti);
	void setVertical_totals_index(std::string vti);
	void setStationCode(std::string code);
	void setPKSampleSounding(std::string pk);
	
	void print();

	
	bool EsMayor(std::string atributte, Persistent *object);
	std::string getKey();
	XMLNode* toViewXML(std::string lat,std::string log, std::string elev);	
	
	static campo PK[2];
	static campo CODE[2];
	static campo BULK_RICHARDSON[2];
	static campo CAPE[2];
	static campo CAPE_VIRTUAL[2];
	static campo CONVECTIVE_INHIBITION[2];
	static campo CROSS_TOTALS_INDEX[2];
	static campo DATE[2];
	static campo HOUR[2];
	static campo K_INDEX[2];
	static campo LIFTED[2];
	static campo LIFTED_VIRTUAL[2];
	static campo PRECIPITABLE_WATER[2];
	static campo SHOWALTER_INDEX[2];
	static campo SWEAT_INDEX[2];
	static campo TOTALS_TOTALS_INDEX[2];
	static campo VERTICAL_TOTALS_INDEX[2];
	
	static campo SAMPLESOUNDING_SCHEMA[SIZE_SAMPLESOUNDING_SCHEMA];
	static campo * getCampoPorAtrib(std::string atribName);

private:
	std::string PKSampleSounding;
	std::string stationCode;
	std::string bulk_richardson;
	std::string cape;
	std::string cape_virtual;
	std::string convective_inhibition;
	std::string cross_totals_index;
	std::string date;
	std::string hour;
	std::string k_index;
	std::string lifted;
	std::string lifted_virtual;
	std::string precipitable_water;
	std::string showalter_index;
	std::string sweat_index;
	std::string totals_totals_index;
	std::string vertical_totals_index;
	
};
#endif // !defined(EA_7738EA28_C9DB_4b79_B18B_A7A58F172321__INCLUDED_)
	
